package com.core.bean;

import com.core.dao.IOnlineDao;

/**
 * 单用户登录。
 * 只考虑一个用在线的场景，同时只有一个客户端可以登录系统，后来登录的客户端会把之前登录的客户端挤下去。
 */
public class SingleOnline extends Online {
    public SingleOnline() {
    }

    @Override
    public void login() throws Exception {
        IOnlineDao dao = getDao();
        Online onlineUser = dao.getByUserName(this.getUser().getName());
        if(onlineUser!=null)
          dao.remove(onlineUser.getId());
        dao.add(this);
    }

    @Override
    public void loginOut() throws Exception {
        IOnlineDao dao = getDao();
        Online queryByToken = dao.queryByToken(this.getToKen());
        if (queryByToken != null) {
            dao.remove(queryByToken.getId());
        }
    }
}
